#include "link.h"
//创建循环队列
Pqueue create()
{
	Pqueue p=malloc(sizeof(queue));
	if(p==NULL)
	{
		printf("创建失败\n");
		return NULL;
	}
	p->rear=0;
	p->front=0;
	printf("创建成功\n");
	return p;
}
//入队
int enqueue(Pqueue p,int e)
{
	if((p->rear+1)%MAX==p->front)//队满判断
	{
		printf("队满无法入对\n");
		return -1;
	}
	p->data[p->rear]=e;
	p->rear=(p->rear+1)%MAX;
	printf("入队成功\n");
	return 0;
}
//出队
int outqueue(Pqueue p)
{
	if(p->rear==p->front)//队空判断
	{
		printf("队空\n");
		return -1;
	}
	printf("下标为%d的数据为%d\n",p->front,p->data[p->front]);
	p->data[p->front]=0;
	p->front=(p->front+1)%MAX;
	return 0;
}
//遍历
int output(Pqueue p)
{
	int i=p->front;
	while(i!=p->rear)//队空判断
	{
		printf("下标为%d的数据为%d\n",i,p->data[i]);
		i=(i+1+MAX)%MAX;
	}
	return 0;
}
//列出队列内容
int my_test(Pqueue p)
{
	printf("\n/************************全部输出**********************/\n");
	for(int i=0;i<5;i++)
		printf("下标为%d的数据为%d\n",i,p->data[i]);
	printf("/************************全部输出结束**********************/\n\n");
	return 0;
}
